MySQL 安装与启停 Yum 仓库安装

1 背景知识

本文主要介绍使用 yum 仓库安装 MySQL 数据库。

2 操作系统准备

执行一键优化脚本。

sh opti

3 下载Yum 仓库源包

Warning

请注意,这种方式下载的是社区版本。

3.1 下载repo文件

  1. 请去 MySQL官方网站yum.repo 下载地址下载对应操作系统版本的 yum repo文件。并上传到 /install 目录。
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
#root>
cd /install
wget https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm
wget https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm -y

3.2 安装repo 仓库

本地安装对应repo。

dnf localinstall mysql84-community-release-el9-1.noarch.rpm

3.3 安装yum-utils工具

dnf -y install yum-utils

4 安装MySQL

4.1 关闭操作系统自带的MySQL 源

sudo dnf module disable mysql

4.2 查看所有mysql 有关的安装源

 yum repolist all | grep mysql

4.3 开启需要的yum源

sudo yum-config-manager --enable  mysql-8.4-lts-community
sudo yum-config-manager --enable  mysql-cluster-8.4-lts-community

4.4 查看已经启用的yum 源

sudo dnf repolist enabled | grep "mysql.*-community.*"

4.5 安装 MySQL

sudo dnf install mysql-community-server -y

5 MySQL的启动和停止

5.1 MySQL数据库启动

systemctl  start mysqld

5.2 MySQL数据库查看

systemctl  status mysqld

5.3 MySQL数据库开机自启动

systemctl  enable mysqld

6 账户安全配置

使用 yum 仓库启动的 MySQL 数据库会自动初始化数据库集簇并生成root用户的临时密码,临时密码可以在第一次登陆之后修改。

grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p 
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

set GLOBAL validate_password.policy=0;
设置密码长度
set GLOBAL validate_password.length=3;
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';

7 附录

7.1 MySQL 启动后诊断

7.1.1 查看日志

tail host_name.err

7.1.2 选择驱动

默认为InnoDB

7.1.3 确认数据文件位置是否合适

7.1.4 查看所有配置参数和所有的环境变量

mysqld --basedir=/app/mysql --verbose –help | more

7.1.5 配置文件环境变量

mysqladmin variables -u root -p 
mysqladmin -h host_name variables - u root -p 

7.2 测试MySQL

mysqladmin version
mysqladmin variables
mysqladmin -u root -p version
mysqladmin -u root shutdown
mysqlshow
mysqlshow mysql
mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql
Note

以上命令成功执行后则mysql 数据正常。

7.3 忘记root 密码

kill `cat /mysql-data-directory/host_name.pid`
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

例如:/root/mysql-init

mysqld --init-file=/home/me/mysql-init &

mysql 服务会自动启动。

skip-grant-tables:
mysql
update user set password=password("new_pass") where user="root";
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';